//
//  TengineModel.h
//  TengineTwo
//
//  Created by StandardUser on 10/02/2012.
//  Copyright (c) 2012 __MyCompanyName__. All rights reserved.
//
//  the simple idea behind tengine is that models are moved according to functions of T, that is to 
//  say that their movement is bound to time.
//  this model holds and manipulates T and entitymodels and updates them accordingly.
//

#import <Foundation/Foundation.h>

@protocol TengineDelegate <NSObject>

@property(readwrite, nonatomic, retain)NSString *cachedTag;
-(void)updateFromT:(float)t;

@end

@interface TengineModel : NSObject

@property(readonly, nonatomic)float t;
@property(readwrite, nonatomic)float clockMultiplier;

-(void)addEntity:(id<TengineDelegate>)entity;
-(void)removeEntityByTag:(NSString*) cachedTag;
-(void)update;

@end
